// 导出默认对象，包含install方法，用于安装库中的指令、模块和组件
// app: Vue应用实例
// opt: 配置对象，包含加载指令、模块和组件的方法
export default {
    install(app: any, opt: any) {
        opt.loadv({
            app,
            eager: true,
            files: import.meta.glob(
                [
                    '../asai/asdirectives/*/index.ts',
                    './asdirectives/*/index.ts',
                ],
                {
                    eager: true,
                }
            ),
        });
        opt.loadts({
            app,
            key: '$engineasai',
            eager: true,
            files: import.meta.glob(
                [
                    '../asai/asengine/common/*.ts',
                    '../asai/asengine/*/use*.ts',
                    './asengine/*/use*.ts',
                ],
                {
                    eager: true,
                }
            ),
        });
        opt.loadvue({
            loadfn: opt.loadfn,
            app,
            eager: true,
            files: import.meta.glob(
                ['../asai/asui/*/*.vue', './asui/*/*.vue'],
                {
                    eager: true,
                }
            ),
        });
    },
};
